CXX     = gcc45
CXXFLAGS+= -std=c++0x
LEX     = lex
YACC    = bison
YFLAGS  = -d
objects = lexer.o parser.o
     
preshlang: $(objects)

lexer.o: lexer.cpp parser.cpp

parser.o: parser.cpp

lexer.cpp: lexer.l
	$(LEX) $(LFLAGS) lexer.l
	mv lex.yy.c lexer.cpp

parser.cpp: parser.y
	$(YACC) $(YFLAGS) -o parser.c parser.y
	mv parser.c parser.cpp

clean:
	rm -f parser.cpp lexer.cpp parser.h *.o preshlang
